///******************************************************************************* // * Copyright (c) 2006 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // *******************************************************************************/ // //package org.eclipse.ui.tests.operations; // //import org.eclipse.core.commands.ExecutionException; //import org.eclipse.core.commands.operations.IUndoContext; //import org.eclipse.core.commands.operations.IUndoableOperation; //import org.eclipse.core.commands.operations.IOperationHistory; //import org.eclipse.swt.widgets.Display; //import org.eclipse.ui.IWorkbenchWindow; //import org.eclipse.ui.ide.IDE; //import org.eclipse.ui.tests.harness.util.UITestCase; // ///** // * Stress tests the Operations Framework API to find any interaction problems // * with the workbench. // * // * @since 3.1 // */ //public class WorkbenchOperationStressTests extends UITestCase { // // static int STRESS_TEST_REPETITIONS = 2000; // // static int OPEN_WINDOW_REPETITIONS = 2; // // /** // * @param testName // */ // public WorkbenchOperationStressTests(String name) { // super(name); // } // // /* // * Exercise the operations history just before closing the workbench. This // * can find problems with the action handlers assuming a workbench is open. // * // * In progress - this still isn't catching the case from the bug, but is a good // * start. // */ // public void test115761() throws ExecutionException { // for (int j = 0; j < OPEN_WINDOW_REPETITIONS; j++) { // IWorkbenchWindow secondWorkbenchWindow = null; // secondWorkbenchWindow = openTestWindow(IDE.RESOURCE_PERSPECTIVE_ID); // Display display = secondWorkbenchWindow.getShell().getDisplay(); // IOperationHistory workbenchHistory = secondWorkbenchWindow // .getWorkbench().getOperationSupport().getOperationHistory(); // IUndoContext workbenchContext = secondWorkbenchWindow // .getWorkbench().getOperationSupport().getUndoContext(); // workbenchHistory.setLimit(workbenchContext, STRESS_TEST_REPETITIONS); // // for (int i = 0; i < STRESS_TEST_REPETITIONS; i++) { // IUndoableOperation op = new TestOperation("test"); // op.addContext(workbenchContext); // workbenchHistory.execute(op, null, null); // } // for (int i = 0; i < STRESS_TEST_REPETITIONS; i++) { // if (i % 2 == 0) { // workbenchHistory.undo(workbenchContext, null, null); // } // if (i % 5 == 0) { // workbenchHistory.redo(workbenchContext, null, null); // } // } // // secondWorkbenchWindow.close(); // boolean go = true; // while (go) { // go = display.readAndDispatch(); // // } // } // } //}